/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mrp.persistencia.entity;

import java.io.Serializable;
import java.util.List;
import javax.persistence.*;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 *
 * @author root
 */
@Entity
@Table(name = "tacosuela")
//@NamedQueries({
//    @NamedQuery(name = "Tacosuela.findAll", query = "SELECT t FROM Tacosuela t"),
//    @NamedQuery(name = "Tacosuela.findByCodmateriaprima", query = "SELECT t FROM Tacosuela t WHERE t.codmateriaprima = :codmateriaprima"),
//    @NamedQuery(name = "Tacosuela.findByNombretacosuela", query = "SELECT t FROM Tacosuela t WHERE t.nombretacosuela = :nombretacosuela"),
//    @NamedQuery(name = "Tacosuela.findByEstacosuela", query = "SELECT t FROM Tacosuela t WHERE t.estacosuela = :estacosuela")})
@PrimaryKeyJoinColumn(name="codmateriaprima")
public class Tacosuela extends Materiaprima implements Serializable {
    @OneToMany(cascade = CascadeType.ALL, mappedBy = "tacosuelaFk")
    private List<Tallatacosuela> tallatacosuelaList;
    private static final long serialVersionUID = 1L;
//    @Id
//    @Basic(optional = false)
//    @NotNull
//    @Size(min = 1, max = 2147483647)
//    @Column(name = "codmateriaprima")
//    private String codmateriaprima;
    @Basic(optional = false)
    @NotNull
    @Size(min = 1, max = 2147483647)
    @Column(name = "nombretacosuela")
    private String nombretacosuela;
    @Basic(optional = false)
    @NotNull
    @Column(name = "estacosuela")
    private int estacosuela;
//    @JoinColumn(name = "codmateriaprima", referencedColumnName = "codmateriaprima", insertable = false, updatable = false)
//    @OneToOne(optional = false)
//    private Materiaprima materiaprima;

    public Tacosuela() {
    }

    public Tacosuela(String codmateriaprima) {
//        this.codmateriaprima = codmateriaprima;
    }

    public Tacosuela(String codmateriaprima, String nombretacosuela, int estacosuela) {
//        this.codmateriaprima = codmateriaprima;
        this.nombretacosuela = nombretacosuela;
        this.estacosuela = estacosuela;
    }

//    public String getCodmateriaprima() {
//        return codmateriaprima;
//    }
//
//    public void setCodmateriaprima(String codmateriaprima) {
//        this.codmateriaprima = codmateriaprima;
//    }

    public String getNombretacosuela() {
        return nombretacosuela;
    }

    public void setNombretacosuela(String nombretacosuela) {
        this.nombretacosuela = nombretacosuela;
    }

    public int getEstacosuela() {
        return estacosuela;
    }

    public void setEstacosuela(int estacosuela) {
        this.estacosuela = estacosuela;
    }

//    public Materiaprima getMateriaprima() {
//        return materiaprima;
//    }
//
//    public void setMateriaprima(Materiaprima materiaprima) {
//        this.materiaprima = materiaprima;
//    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (getCodmateriaprima() != null ? getCodmateriaprima().hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Tacosuela)) {
            return false;
        }
        Tacosuela other = (Tacosuela) object;
        if ((this.getCodmateriaprima() == null && other.getCodmateriaprima() != null) || (this.getCodmateriaprima() != null && !this.getCodmateriaprima().equals(other.getCodmateriaprima()))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "mrp.persistencia.entity.Tacosuela[ codmateriaprima=" + getCodmateriaprima() + " ]";
    }

    public List<Tallatacosuela> getTallatacosuelaList() {
        return tallatacosuelaList;
    }

    public void setTallatacosuelaList(List<Tallatacosuela> tallatacosuelaList) {
        this.tallatacosuelaList = tallatacosuelaList;
    }
    
}
